﻿using JTLeigh.Commerce.Spencer.Core.Common;
using JTLeigh.Commerce.Spencer.Features.ProductFeedback.Common;
using JTLeigh.Commerce.Spencer.Features.ProductFeedback.Service.Contracts;
using JTLeigh.Commerce.Spencer.Features.ProductFeedback.Service.Commands.Runtime;
using JTLeigh.Commerce.Spencer.Core.Service;
using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.WCF;
using Microsoft.Practices.Unity;

namespace JTLeigh.Commerce.Spencer.Features.ProductFeedback.Service
{

	/// <summary>
	/// WCF service implementation for the Product Feedback Management service.
	/// </summary>
	[ExceptionShielding(ProductFeedbackExceptionPolicy.Service)]
    [DependencyInjectionServiceBehavior]
	public class ProductFeedbackManagementService : IProductFeedbackManagementService
	{

		#region Properties

		/// <summary>
		/// Gets or sets the dependency injection container to use to resolve dependencies.
		/// </summary>
		/// <remarks>
		/// <para>
		/// Services that have multiple commands with multiple dependencies should depend on 
		/// <see cref="IUnityContainer"/> and use the container to resolve commands on-demand.
		/// </para>
		/// </remarks>
		[Dependency]
		public IUnityContainer Container { get; set; }

		#endregion // Properties

		#region IProductFeedbackManagementService Members

        /// <summary>
        /// Does nothing.
        /// </summary>
        public void DoNothing()
        {
        }

        // ...

        #endregion // IProductFeedbackManagementService Members

    }

}
